#include <string.h>
#include <stdio.h>

int main(void)
{
    printf("请输入字符串最大长度\n");
    int len;
    scanf("%d", &len);
    getchar(); // 消耗掉scanf后的换行符

    printf("请输入一串字符\n");
    char a[len];
    char b[len];
    fgets(a, len, stdin); // 使用fgets读取包含空格的字符串
    a[strcspn(a, "\n")] = 0; // 移除fgets可能读取的换行符

    size_t s = strlen(a);
    printf("输入的字符串长度: %zu\n", s);

    if (s == 0) return 0; // 处理空字符串的情况

    b[0] = a[0]; // 将第一个字符存入b
    int k = 1;   // b数组当前长度

    // 遍历a数组中的每个字符
    for (int i = 1; i < s; i++) {
        int found = 0;
        // 检查当前字符是否已存在于b数组中
        for (int j = 0; j < k; j++) {
            if (a[i] == b[j]) {
                found = 1;
                break;
            }
        }
        // 如果不存在，则添加到b数组
        if (!found) {
            b[k] = a[i];
            k++;
        }
    }

    // 添加字符串结束符
    b[k] = '\0';

    // 输出结果
    printf("去重后的字符串: %s\n", b);

    return 0;
}